unit uPSI_VectorTypes;
{
This file has been generated by UnitParser v0.7, written by M. Knight
and updated by NP. v/d Spek and George Birbilis. 
Source Code from Carlo Kok has been used to implement various sections of
UnitParser. Components of ROPS are used in the construction of UnitParser,
code implementing the class wrapper is taken from Carlo Kok's conv utility

}
interface
 
uses
   SysUtils
  ,Classes
  ,uPSComponent
  ,uPSRuntime
  ,uPSCompiler
  ;
 
type 
(*----------------------------------------------------------------------------*)
  TPSImport_VectorTypes = class(TPSPlugin)
  protected
    procedure CompileImport1(CompExec: TPSScript); override;
    procedure ExecImport1(CompExec: TPSScript; const ri: TPSRuntimeClassImporter); override;
  end;
 
 
{ compile-time registration functions }
procedure SIRegister_VectorTypes(CL: TPSPascalCompiler);

{ run-time registration functions }

procedure Register;

implementation


uses
   GLVectorTypes;
 
 
procedure Register;
begin
  RegisterComponents('GLS ROPS', [TPSImport_VectorTypes]);
end;

(* === compile-time registration functions === *)
(*----------------------------------------------------------------------------*)
procedure SIRegister_VectorTypes(CL: TPSPascalCompiler);
begin
  CL.AddTypeS('TVector2d', 'array[0..1] of double');
  CL.AddTypeS('TVector2f', 'array[0..1] of single');
  CL.AddTypeS('TVector2i', 'array[0..1] of longint');
  CL.AddTypeS('TVector2s', 'array[0..1] of smallint');
  CL.AddTypeS('TVector2b', 'array[0..1] of byte');
  CL.AddTypeS('TVector2e', 'array[0..1] of Extended');
  CL.AddTypeS('TVector2w', 'array[0..1] of Word');
//  CL.AddTypeS('TVector2p', 'array[0..1] of Pointer');


  CL.AddTypeS('TVector3d', 'array[0..2] of double');
  CL.AddTypeS('TVector3f', 'array[0..2] of single');
  CL.AddTypeS('TVector3i', 'array[0..2] of longint');
  CL.AddTypeS('TVector3s', 'array[0..2] of smallint');
  CL.AddTypeS('TVector3b', 'array[0..2] of byte');
  CL.AddTypeS('TVector3e', 'array[0..2] of Extended');
  CL.AddTypeS('TVector3w', 'array[0..2] of Word');
//  CL.AddTypeS('TVector3p', 'array[0..1] of Pointer');

  CL.AddTypeS('TVector4d', 'array[0..3] of double');
  CL.AddTypeS('TVector4f', 'array[0..3] of single');
  CL.AddTypeS('TVector4i', 'array[0..3] of longint');
  CL.AddTypeS('TVector4s', 'array[0..3] of smallint');
  CL.AddTypeS('TVector4b', 'array[0..3] of byte');
  CL.AddTypeS('TVector4e', 'array[0..3] of Extended');
  CL.AddTypeS('TVector4w', 'array[0..3] of Word');
//  CL.AddTypeS('TVector4p', 'array[0..3] of Pointer');

  CL.AddTypeS('TMatrix2d', 'array[0..1] of TVector2d');
  CL.AddTypeS('TMatrix2f', 'array[0..1] of TVector2f');
  CL.AddTypeS('TMatrix2i', 'array[0..1] of TVector2i');
  CL.AddTypeS('TMatrix2s', 'array[0..1] of TVector2s');
  CL.AddTypeS('TMatrix2b', 'array[0..1] of TVector2b');
  CL.AddTypeS('TMatrix2e', 'array[0..1] of TVector2e');
  CL.AddTypeS('TMatrix2w', 'array[0..1] of TVector2w');
//  CL.AddTypeS('TVector2p', 'array[0..1] of TVector2p');


  CL.AddTypeS('TMatrix2d', 'array[0..1] of TVector2d');
  CL.AddTypeS('TMatrix2f', 'array[0..1] of TVector2f');
  CL.AddTypeS('TMatrix2i', 'array[0..1] of TVector2i');
  CL.AddTypeS('TMatrix2s', 'array[0..1] of TVector2s');
  CL.AddTypeS('TMatrix2b', 'array[0..1] of TVector2b');
  CL.AddTypeS('TMatrix2e', 'array[0..1] of TVector2e');
  CL.AddTypeS('TMatrix2w', 'array[0..1] of TVector2w');
//  CL.AddTypeS('TVector2p', 'array[0..1] of TVector2p');


  CL.AddTypeS('TMatrix3d', 'array[0..2] of TVector3d');
  CL.AddTypeS('TMatrix3f', 'array[0..2] of TVector3f');
  CL.AddTypeS('TMatrix3i', 'array[0..2] of TVector3i');
  CL.AddTypeS('TMatrix3s', 'array[0..2] of TVector3s');
  CL.AddTypeS('TMatrix3b', 'array[0..2] of TVector3b');
  CL.AddTypeS('TMatrix3e', 'array[0..2] of TVector3e');
  CL.AddTypeS('TMatrix3w', 'array[0..2] of TVector3w');
//  CL.AddTypeS('TVector3p', 'array[0..2] of TVector3p');

  CL.AddTypeS('TMatrix4d', 'array[0..3] of TVector4d');
  CL.AddTypeS('TMatrix4f', 'array[0..3] of TVector4f');
  CL.AddTypeS('TMatrix4i', 'array[0..3] of TVector4i');
  CL.AddTypeS('TMatrix4s', 'array[0..3] of TVector4s');
  CL.AddTypeS('TMatrix4b', 'array[0..3] of TVector4b');
  CL.AddTypeS('TMatrix4e', 'array[0..3] of TVector4e');
  CL.AddTypeS('TMatrix4w', 'array[0..3] of TVector4w');
//  CL.AddTypeS('TVector4p', 'array[0..3] of TVector4p');
end;

(* === run-time registration functions === *)
 
 
{ TPSImport_VectorTypes }
(*----------------------------------------------------------------------------*)
procedure TPSImport_VectorTypes.CompileImport1(CompExec: TPSScript);
begin
  SIRegister_VectorTypes(CompExec.Comp);
end;
(*----------------------------------------------------------------------------*)
procedure TPSImport_VectorTypes.ExecImport1(CompExec: TPSScript; const ri: TPSRuntimeClassImporter);
begin
//  RIRegister_VectorTypes(ri);
end;
(*----------------------------------------------------------------------------*)
 
 
end.
